#include "DG2OF3.h"

DG2OF3_T* DG2OF3_t;


//************************************
// Method:    	CALCU_SAMA					//< SAMA运算函数
// Programmer:  lww
// Time:		2018/11/16
// Returns:   	bool						//< 成功：true；失败：false
// Parameter: 	Model_Base_t * arg			//< 模块参数结构体指针
// Parameter: 	float dt					//< 运算周期
// Parameter: 	bool * DI					//< 数字量输入值数组指针
// Parameter: 	bool * DO					//< 数字量输出值数组指针
// Parameter: 	bool * AI					//< 模拟量输入值数组指针
// Parameter: 	bool * AO					//< 模拟量输出值数组指针
//************************************
bool CALCU_SAMA(DG2OF3)(Model_Base_t* arg, float dt, bool* DI, bool* DO, float* AI, float* AO)
{
	/****************变量定义区开始**************/

	/*<<<<<定义输出变量>>>>>*/
	bool Output_Value = 0;			//< 输出值
	/*<<<<<<<<<<<<<<<<<<<<<<*/
	int i, DINum, sum = 0;
	/****************变量定义区结束**************/

	NAME(DG2OF3)* Obj = (NAME(DG2OF3)*)arg;

	/****************变量赋值**************/
	DINum = Obj->Base.IO_Num.DI_Num;
	/**************变量赋值结束************/

	/********************************************/
	/**************算法功能实现开始**************/
	/********************************************/
	for (i = 0; i < DINum; i++)
	{
		sum += (int)DI[i];
	}
	if (sum >= 2)
		Output_Value = true;
	else
		Output_Value = false;
	/********************************************/
	/**************算法功能实现结束**************/
	/********************************************/

	/****************运算结果输出**************/
	DO[0] = Output_Value;
	/**************运算结果输出完毕************/
	return true;
}

